﻿/*
 * SharpDevelop Tarafından Oluşturulmuşdur.
 * Kullanıcı: İsmail
 * Tarih: 23.05.2009
 * Zaman: 00:45
 * 
 * Bu şablonu değiştirmek için Araçlar | Seçenekler | Kodlama | Standart Başlıkları Düzenle 'yi kullanın.
 */
 
// Kaynaklar:
// 1. http://stackoverflow.com/questions/206793/why-wont-my-c-connection-string-to-a-sql-server-work-with-windows-authenticatio/206825

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

using System.Data;
using System.Data.SqlClient; // SQL Server'a bağlanmak için

namespace Ders_programi
{
	/// <summary>
	/// Description of MainForm.
	/// </summary>
	public partial class MainForm : Form
	{
		// SQL Server bağlantısı kurmaya yarayan bağlantı nesnesi
		public SqlConnection conn;
		
		public MainForm()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
		void MainFormLoad(object sender, System.EventArgs e)
		{
			// Şimdi SQL Server Bağlantı nesnelerimizi oluşturalım
			conn = new SqlConnection("Server=(local);Database=ders_programi_db;Trusted_Connection=yes;");
			
			try
			{
				conn.Open();
				
				//MessageBox.Show("Veritabanına bağlantı sağlandı");
				
				conn.Close();
			}
			catch( Exception ex )
			{
				MessageBox.Show("Veritabanına bağlantı sağlanamadı! \n" +
				                "Sebebi: \n" +
				                ex.Message);
			}
			
			pnlSaatler.Hide();
			
			cmbSiniflar.Items.Add("Hazırlık"); // index 0 Hazırlık sınıfı 
			cmbSiniflar.Items.Add("1.Sınıf"); // index 1 Birinci sınıf
			cmbSiniflar.Items.Add("2.Sınıf"); // index 2 İkinci sınıf
			cmbSiniflar.Items.Add("3.Sınıf"); // index 3 Üçüncü sınıf
			cmbSiniflar.Items.Add("4.Sınıf"); // index 4 Dördüncü sınıf
		}
		
		void CmbSiniflarSelectedIndexChanged(object sender, EventArgs e)
		{
			// Eğer veritabanında program tablosu boş ise 
			// Öğretim Görevlileri getirilir
			string sqlKomut = "Select * from Program";
			
			DataSet dset;
			
			try
			{
				conn.Open();
			
				SqlDataAdapter adp = new SqlDataAdapter( sqlKomut, conn);
			
				dset = new DataSet();
			
				adp.TableMappings.Add("Table", "Ogretim_Gorevlileri");
				
				adp.Fill(dset);	
			}
			catch(Exception ex)
			{
				throw new Exception(ex.ToString(), ex);
			}
			finally
			{
				conn.Close();
			}
			
			pnlSaatler.Show();
		}
		
		void Programi_Doldur()
		{
			// Veritabanından gerekli programı getirelim
		}
		
		void Button1Click(object sender, EventArgs e)
		{
			Button []butonlar;
			butonlar = new Button[5*6];
			//Pazartesi
			for(int i= 0;i<5;i++)
			{	
				butonlar [i] = new Button();
				butonlar[i].Text = i.ToString();
				panel2.Controls.Add(butonlar[i]);
				butonlar[i].Dock = DockStyle.Top;
				butonlar[i].Click += new EventHandler (ders_ekle);
			}
			
			//Salı
			for(int i= 0;i<5;i++)
			{	
				butonlar [i] = new Button();
				butonlar[i].Text = i.ToString();
				panel3.Controls.Add(butonlar[i]);
				butonlar[i].Dock = DockStyle.Top;
				butonlar[i].Click += new EventHandler (ders_ekle);
			}
			//Çarşamba
			for(int i= 0;i<5;i++)
			{	
				butonlar [i] = new Button();
				butonlar[i].Text = i.ToString();
				panel4.Controls.Add(butonlar[i]);
				butonlar[i].Dock = DockStyle.Top;
				butonlar[i].Click += new EventHandler (ders_ekle);
				panel2.CreateControl();
			}
			//Perşembe
			for(int i= 0;i<5;i++)
			{	
				butonlar [i] = new Button();
				butonlar[i].Text = i.ToString();
				panel5.Controls.Add(butonlar[i]);
				butonlar[i].Dock = DockStyle.Top;
				butonlar[i].Click += new EventHandler (ders_ekle);
				panel2.CreateControl();
			}
			//Cuma
			for(int i= 0;i<5;i++)
			{	
				butonlar [i] = new Button();
				butonlar[i].Text = i.ToString();
				panel6.Controls.Add(butonlar[i]);
				butonlar[i].Dock = DockStyle.Top;
				butonlar[i].Click += new EventHandler (ders_ekle);
				panel2.CreateControl();
			}
			//Cumartesi
			for(int i= 0;i<5;i++)
			{	
				butonlar [i] = new Button();
				butonlar[i].Text = i.ToString();
				panel7.Controls.Add(butonlar[i]);
				butonlar[i].Dock = DockStyle.Top;
				butonlar[i].Click += new EventHandler (ders_ekle);
				panel2.CreateControl();
			}
		}
		void ders_ekle(object sender, EventArgs e)
		{
			MessageBox.Show("Buton  "+ ((Button)sender).Text);
		}
		
		void ProgramıToolStripMenuItemClick(object sender, EventArgs e)
		{
			// Yeni bir bölüm oluşturalım
			frmBolumEkle yBolum = new frmBolumEkle( conn );
			
			yBolum.ShowDialog();
		}
		
		void OgrGorEkleToolStripMenuItemClick(object sender, EventArgs e)
		{
			// Yeni bir öğretim görevlisi oluşturalım
			frmOgrGorEkle yOgrGor = new frmOgrGorEkle( conn );
			
			yOgrGor.ShowDialog();
		}
		
		void DerslikToolStripMenuItemClick(object sender, EventArgs e)
		{
			// Yeni bir derslik oluşturalım
			frmDerslikEkle yDerslik = new frmDerslikEkle( conn );
			
			yDerslik.ShowDialog();
		}
		
		void LaboratuvarToolStripMenuItemClick(object sender, EventArgs e)
		{
			// Yeni bir lab. oluşturalım
			frmLabEkle yLab = new frmLabEkle( conn );
			
			yLab.ShowDialog();
		}
		
		void DersToolStripMenuItemClick(object sender, EventArgs e)
		{
			// Yeni bir ders oluşturalım
			frmDersEkle yDers = new frmDersEkle( conn );
			
			yDers.ShowDialog();
		}
		
		void BolumToolStripMenuItem1Click(object sender, EventArgs e)
		{
			frmBolumSil ySil = new frmBolumSil(conn);
			
			ySil.ShowDialog();
		}
		
		void BolumToolStripMenuItemClick(object sender, EventArgs e)
		{
			frmBolumDuzenle yDuzenle = new frmBolumDuzenle(conn);
			
			yDuzenle.ShowDialog();
		}
		
		void DersToolStripMenuItem1Click(object sender, EventArgs e)
		{
			frmDersDuzenle yDuzenle = new frmDersDuzenle(conn);
			
			yDuzenle.ShowDialog();
		}
	}
}
